Conversation
old_dtors it actually holds zend_object_dtor_obj_t's, not zval's, so Z_PTR_P() didn't do any good
|
I don't understand how this can be correct. In php7 hashtables always hold zvals. To store other contents, we have the _ptr API to automate the wrap/unwrap. Since we don't have it for apply_with_arguments, I really think we have to access through Z_PTR_P within the function. See for instance http://lxr.php.net/xref/PHP_7_0/ext/reflection/php_reflection.c#_extension_class_string |
|
wr_store.c:115 - in wr_store_track() - the value assigned to the hash is zend_object_dtor_obj_t, not zval, i agree it might be dirty, but looks like it's been working and it still does |
|
Yes, but: the It might be that the original issue is avoided with any non-NULL value for dtor, and thus it is not relevant if what is stored is invalid? Did you experience any specific issue with my version of the patch (that does the unwrapping) ? |
old_dtors it actually holds zend_object_dtor_obj_t's, not zval's, so Z_PTR_P() didn't do any good